iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 18
0
Security

資訊系統安全與 CISSP 的簡單應用系列 第 18

[Day 18] 安全評估與測試 (Security Testing Fundamentals)

  • 分享至 

  • xImage
  •  

安總本來在 2018 年就打算擴大營運軟體測試的部分,而鐵人賽剛好走到這一章,我們就一起來把軟體測試的基礎打好。本章節談的主題是「安全評估與測試」,對軟體測試人員或是白帽駭客都很有幫助。安總在這個部分也只是初窺門徑,希望自己在新年度能夠登堂入室,體會箇中奧妙。

安全評估與測試計畫-查檢表 (Checklist)


來,請以終為始,檢查一下下列安全評估與測試計畫,您是否都具備了呢?它可以幫助您確效現行的安全控制喔 (Validate your ongoing Effectiveness of Security Controls):

Check List
漏洞評估計畫 (Vulnerability Assessments)
滲透測試計畫 (Penetration Tests)
軟體測試計畫 (Software Testing)
稽核計畫 (Audits)
安全工作執行管理 (Security Managements Tasks)
  1. 漏洞評估計畫 (Vulnerability Assessments):
    利用自動化工具去掃描已知的漏洞,通常分為系統型、網路型、應用程式型。
  2. 滲透測試計畫 (Penetration Tests):
    與「漏洞評估計畫」所使用之工具相同,但是測試者加上了攻擊技術使用。
  3. 軟體測試計畫 (Software Testing):
    軟體測試計畫包含安全性需求測試、代碼審查、介面測試 (API、UI、Physical Communication)。
  4. 稽核計畫 (Audits):
    稽核計畫包含內部稽核與外部稽核,外稽就是請第三方公正單位來執行稽核。
  5. 安全管理執行計畫 (Security Managements Tasks) :
    關於這一點,我們保留至「團隊工作」與「個人管理」章節來探討。

如何應對軟體的複雜度?


光是一個網路字典服務,其層級架構就高得不行,我們該如何確保其每一道接縫 (Interface)、每一個元件 (Component) 皆無漏洞?以下揭示應對軟體複雜度之幾個常用策略

  1. 任何實用的測試技術,都是基於一定策略的採樣:
    從無限多的測試輸入中,選擇一個數量有限的子集,來評估軟體的整體情況。
  2. 分而治之:
    以測試目標為指導,省略無關的產品細節,透過簡化後的模型,可更有效、更針對性地進行測試評估。
  3. 大規模迴歸測試:
    對於任何少量程式碼變更都不可掉以輕心,因為修改者、評估者、測試者皆很難預料這段程式碼被使用的意境和執行後的影響。

安全測試工作職能定義


以下三個定義,對身為安全測試者的各位很有啟發性:

  1. 測試是為了發現錯誤而執行程式的過程:
    測試人員應該始終質疑並挑戰軟體,即便測試人員最後的結果是「沒有發現錯誤」,[攻擊性的測試過程] 也使這個結論更有可信度。
  2. 測試是一個獲取資訊的過程,用來降低決策風險:
    • 測試是一個服務性的工作,透過測試,我們向整個團隊提供關於產品品質和專案環境的資訊,幫助他們作出決定。
    • 為了提供高品質的資訊,我們通常會及時地交流、縝密地測試、仔細地報告。
  3. 測試是一種技術調查,其目的是向關係人提供有關產品品質的實驗資訊,這些關係人對資訊的需求是測試人員主要的工作內容:
    • 測試經理:
      做得好,您能不能調查一下這個缺陷在哪些情況下出現,會影響哪些用戶,導致的最壞結果是什麼?」
    • 程式設計師:
      做得好,您能否在預發布的環境中部署它,並跑一些系統測試?」
    • 產品經理:
      做得好,您能不能做一些實驗,看看現在版本在哪些場景中比較慢,慢多少?」
    • 維運人員:
      做得好,您能不能看一下這則問題描述,試著在測試環境中重複顯現?這個缺陷在下一版已經修復了嗎?」

安全測試人員需要之素質?


WTF,我聽到謎之音說:「別開玩笑了,招募安全測試人員還要要求素質,會不會難度太高了?」我覺得,人是成就事情最關鍵的因素。接下來,就請各位問問自己的心,您本身是否已具備這些素質:

  1. 您是一個具有「系統性」的人嗎?(測試應有系統地調查被測試物件)
  2. 您是一個具有「客觀性」的人嗎?(測試所提供之資訊應來自中立觀察
  3. 您是一個具有「探索性」的人嗎?(偵查人員時常轉移工作重點,從各資訊源收集情報,因為很難預測何處會有重大發現)
  4. 您是一個具有「機動性」的人嗎?(測試人員需要交替使用廣度調查和深度調查)

先前有感於軟體測試的重要買了此書,本文的脈絡和觀點主要引用自此,作為研究和分享給 iT 邦幫忙之技術學習者使用,非營利用途。其中大部分為本人之心得感想和經驗論述,請各位小心服用。
軟體測試之鑰:微軟一線測試專家技術精華
《軟體測試之鑰:微軟一線測試專家技術精華》
圖片來源:http://www.kingsinfo.com.tw/module.php?i=item&action=play&a=8713


上一篇
[Day 17] 識別與存取管理 (Controlling and Monitoring Access)
下一篇
[Day 19] 安全評估與測試 (Security Testing Report)
系列文
資訊系統安全與 CISSP 的簡單應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言